﻿#include "core/Module.h"

#define TAG "Module"
int Module::_generateId = 0;

Module::Module(const std::string& name, SyncType type, bool state):_name(name),_id(_generateId++),_type(type),_state(state)
{

}

void Module::init()
{
}

void Module::exit()
{
}

bool Module::getState()
{
	return _state;
}

void Module::setState(bool state)
{
	_state = state;
}

SyncType Module::getType()
{
	return _type;
}

std::string Module::getName()
{
	return _name;
}

int Module::getId()
{
	return _id;
}

std::ostream& operator<<(std::ostream& os, const Module& obj)
{
	return os << obj._name;
}

ExamModule::ExamModule(const std::string& name, SyncType type, bool state) :Module(name, type, state)
{

}

ExamModule::~ExamModule()
{
}